package com.evan.common.bit;


/**

 */
public enum CommandConstEnum {

    /**
     * 打印出服务相关配置的详细信息
     * */

    CONF("conf","conf"),

    /**
     * 列出所有连接到这台服务器的客户端全部连接/会话详细信息。包括"接受/发送"的包数量、会话id、操作延迟、最后的操作执行等等信息
     * */

	CONS("cons","cons"),

    /**
     * 重置所有连接的连接和会话统计信息
     * */

	CRST("crst","crst"),


    /**
     * 列出那些比较重要的会话和临时节点。这个命令只能在leader节点上有用
     * */

    DUMP("dump","dump"),

    /**
     * 打印出服务环境的详细信息。
     * */

	ENVI("envi","envi"),

    /**
     * 列出未经处理的请求
     * */

	REQS("reqs","reqs"),

    /**
     * 测试服务是否处于正确状态。如果确实如此，那么服务返回"imok"，否则不做任何相应。
     * */

	RUOK("ruok","ruok"),

    /**
     * 重置服务器的统计。
     * */

	SRST("srst","srst"),

    /**
     * 3.3.0版本引入的。列出连接服务器的详细信息
     * */

	SRVR("srvr","srvr"),

    /**
     * 输出关于性能和连接的客户端的列表。
     * */

	STAT("stat","stat"),

    /**
     * 3.3.0版本引入的。列出服务器watch的详细信息。
     * */

	WCHS("wchs","wchs"),

    /**
     * 3.3.0版本引入的。通过session列出服务器watch的详细信息，它的输出是一个与watch相关的会话的列表。
     * */

	WCHC("wchc","wchc"),

    /**
     * 3.3.0版本引入的。通过路径列出服务器watch的详细信息。它输出一个与session相关的路径。
     * */

	WCHP("wchp","wchp"),

    /**
     * 3.4.0版本引入的。输出可用于检测集群健康状态的变量列表
     * */

	MNTR("mntr","mntr"),

    ;
    /**
     * 值
     */
    private String val;
    /**
     * 描述
     */
    private String msg;

    private CommandConstEnum(String val, String msg) {
        this.val = val;
        this.msg = msg;
    }

    public String getVal() {
        return val;
    }

    public void setVal(String val) {
        this.val = val;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String getString(){
        return this.val.toString();
    }
    public static CommandConstEnum getInstance(String val) {
        for (CommandConstEnum buss : CommandConstEnum.values()) {
            if (buss.getVal().equals(val)) {
                return buss;
            }
        }
        return null;
    }
}
